應(yīng)用程序 DDOS是復(fù)雜的攻擊,很難緩解。與網(wǎng)絡(luò)層攻擊不同,大多數(shù)攻擊是對(duì)協(xié)議的操縱,可以根據(jù)所采用的方法進(jìn)行識(shí)別,在應(yīng)用程序DDOS 的情況下,最突出的攻擊類型是沒有真實(shí)模式可識(shí)別的容量攻擊。這些是大量發(fā)送到應(yīng)用程序的合法請(qǐng)求,阻塞了原本會(huì)被其他用戶使用的資源,并使普通用戶無(wú)法訪問應(yīng)用程序。
用于檢測(cè)應(yīng)用程序 DDOS 的最常用技術(shù)是速率限制,其中限制了用戶可以發(fā)出的請(qǐng)求數(shù)量。防止此類容量 DDOS 攻擊的兩個(gè)基本且唯一的基礎(chǔ)是:
- 能夠觀察請(qǐng)求量,因?yàn)獒槍?duì)體積應(yīng)用程序 DDOS 的初始防御是在不耗盡資源的情況下擴(kuò)展和觀察發(fā)送到應(yīng)用程序的請(qǐng)求
- 識(shí)別不需要的請(qǐng)求并快速刪除它們。這些檢測(cè)是通過識(shí)別異常尖峰并阻止它們來完成的
為了實(shí)現(xiàn)這兩者,最好的解決方案是像 AppTrana 這樣具有 DDOS 防護(hù)能力的云WAF 。精心設(shè)計(jì)的云 WAF 將能夠非常快速地自動(dòng)擴(kuò)展,以確保它能夠吸收異常的請(qǐng)求峰值。AppTrana 利用高度可擴(kuò)展的基礎(chǔ)設(shè)施來阻止高達(dá) 2.3 Tbps 的大型攻擊和每秒 700K 的請(qǐng)求,以提供針對(duì)可能的最大攻擊的保護(hù)。
下一個(gè)挑戰(zhàn)是檢測(cè)不需要的請(qǐng)求并丟棄它們。如果 WAF 有效地完成了這方面的工作,后端將免受請(qǐng)求高峰的影響,并且其資源將可以免費(fèi)為合法請(qǐng)求提供服務(wù)。
不幸的是,靜態(tài)速率限制不起作用,大多數(shù)攻擊都被忽視了。要了解靜態(tài)速率限制規(guī)則的問題,需要了解這些速率限制是如何工作的。
- 速率限制只能在某些身份上配置。即它可以配置為在一個(gè)時(shí)間段內(nèi)不允許來自 1 個(gè) IP/用戶等的超過 x 個(gè)請(qǐng)求,但它不能配置為在該時(shí)間段內(nèi)僅將 y 個(gè)請(qǐng)求轉(zhuǎn)發(fā)到應(yīng)用程序,因?yàn)檫@會(huì)導(dǎo)致合法用戶被阻止
這種靜態(tài)速率限制規(guī)則的問題在于它沒有考慮站點(diǎn)的自然變化。例如,當(dāng)用戶上傳和讀取大量數(shù)據(jù)時(shí),我們的一個(gè)網(wǎng)站在月底出現(xiàn)峰值;一般來說,月末單用戶請(qǐng)求的增長(zhǎng)量是正常流量的 3-4 倍。現(xiàn)在,如果需要為這種情況配置靜態(tài)速率限制,則必須考慮月末峰值,這意味著在正常日子里,即使是 4 次的峰值也不會(huì)被檢測(cè)到,并且請(qǐng)求將被傳遞到源,導(dǎo)致重載原點(diǎn)。